#ifndef TABLEVIEWHEADER_H
#define TABLEVIEWHEADER_H

#include <QHeaderView>
#include <QWidget>


/*
    TableViewHeader 类是一个自定义的表头视图，这个类在表格视图
的第一个水平表头（索引为0）上绘制自定义文本 "Group Header"，并
且在点击这个表头时执行特定的逻辑。
*/
class TableViewHeader : public QHeaderView {
    Q_OBJECT

public:
    TableViewHeader(Qt::Orientation orientation, QWidget *parent = nullptr);
    void setGroupColumn(int column);
protected:
    void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override;  //绘制自定义文本
    void mousePressEvent(QMouseEvent *event) override;
signals:
    void groupButtonClicked(int logicalIndex);
    void sortButtonClicked(int logicalIndex);
private:
    int m_column;
};

#endif // TABLEVIEWHEADER_H
